Home

CSS Examples Tableless forms using CSS

Date: 02/10/2005 Tableless forms using CSS

Author: CSS Drive

This CSS example transforms a conventional form so it's tableless. A form that doesn't use tables for its layout is much more lightweight and semantically correct.





The CSS:

<style type="text/css">

label{
float: left;
width: 120px;
font-weight: bold;
}

input, textarea{
width: 180px;
margin-bottom: 5px;
}

textarea{
width: 250px;
height: 150px;
}

.boxes{
width: 1em;
}

#submitbutton{
margin-left: 120px;
margin-top: 5px;
width: 90px;
}

br{
clear: left;
}

</style>

The HTML:

<form>

<label for="user">Name</label>
<input type="text" name="user" value="" /><br />

<label for="emailaddress">Email Address:</label>
<input type="text" name="emailaddress" value="" /><br />

<label for="comments">Comments:</label>
<textarea name="comments"></textarea><br />

<label for="terms">Agree to Terms?</label>
<input type="checkbox" name="terms" class="boxes" /><br />

<input type="submit" name="submitbutton" id="submitbutton" value="Submit" />

</form>

By floating the "label" tag to the left, the text description of each form field appears to the left, resulting in a "two column" look for the form. The width of the "label" is controlled, so it will comfortably contain the longest text description in the form. I throw in a <br> tag with "clear: left" after each form field to prevent the floating <label> tag from potentially spilling over to content beneath it. Margins such as "margin-top" and "margin-bottom" are also used to add some nice margins between form fields.

Comments (108)

Cool and Clear. Fine. Thanks.
Ruby

#1: ivan on 03/18 at 09:01 PM

It will not work on multicolumn based form layout.

#2: Ashish on 04/20 at 07:24 AM

gg amk dsaiuja akfdja

#3: ytu on 05/07 at 08:36 AM

What is the client side data gathering piece?

#4: Dale on 05/11 at 06:09 PM

it is a vv nice scc form

visit http://hanif.net.tc
e mail .(JavaScript must be enabled to view this email address)

#5: hanif on 05/27 at 07:10 AM

Hey this example is beautiful

#6: Arkos Noem Arenom on 07/04 at 08:16 PM

good work,thank_you

#7: scarty on 07/12 at 06:42 PM

nice website.. cheers !!!

#8: mikesapartment on 07/19 at 08:01 PM

Hello
Nice website

Cheers

#9: apartment on 07/19 at 08:03 PM

"Tables are certianly not the ideal solution."

Could you please explain why?!

That's exactly why tables are existing in HTML: to represent tabular data, like the form in this example.

I think you've misunderstood something very badly here. You should not use table element for layout design (header, footer, sidebars, menu, etc), but always use it for tabular data. It's sematically incorrect to represent tabular data without using tables.

#10: Someone on 07/22 at 09:54 AM
Commenting is not available in this weblog entry.


Partners & ResourcesOur
Partners


CSS Forums News

Dynamic Drive forums | Register

The Latest Comments

All images and content copyright © 2017 CSS Drive. Contact Info | Back to Top
Affiliate Discloser: We receive a commission from purchases through some links on this site